#include <bits/stdc++.h>

using std::cin;
using std::cout;
using std::vector;

void dfs(int v, vector <int> &x, vector <int> &y, int k, vector <bool> &used) {
    used[v] = 1;
    for (int i = 0; i < used.size(); ++i) {
        if (!used[i] && (x[i] - x[v]) * (x[i] - x[v]) + (y[i] - y[v]) * (y[i] - y[v]) <= k * k) {
            dfs(i, x, y, k, used);
        }
    }
}

int main() {
    int n, k;
    cin >> n >> k;
    vector <int> x(n), y(n);
    for (int i = 0; i < n; ++i) {
        cin >> x[i] >> y[i];
    }
    vector <bool> used(n, 0);
    dfs(0, x, y, k, used);
    for (int i = 0; i < n; ++i) {
        if (!used[i]) {
            cout << "NO";
            return 0;
        }
    }
    cout << "YES";
    return 0;
}